import request from '@/utils/request'

const roleApi = process.env.VUE_APP_SYS_API + '/role'

/**
 * 获取角色列表
 * @param params
 * @returns {AxiosPromise}
 */
export const getRoleList = (params) => {
  return request({
    url: `${roleApi}/list`,
    method: 'GET',
    params
  })
}

/**
 * 分页查询角色列表
 * @param params
 * @returns {AxiosPromise}
 */
export const getRole = (params) => {
  return request({
    url: `${roleApi}`,
    method: 'GET',
    params
  })
}

/**
 * 新增角色
 * @param data 角色数据
 * @returns {AxiosPromise}
 */
export const addRole = (data) => {
  return request({
    url: `${roleApi}`,
    method: 'POST',
    data
  })
}


/**
 * 根据id查询角色信息
 * @param id 角色id
 * @returns {AxiosPromise}
 */
export const getRoleById = (id) => {
  return request({
    url: `${roleApi}/${id}`,
    method: 'GET'
  })
}

/**
 * 根据ID删除角色
 * @param id 角色id
 * @returns {AxiosPromise}
 */
export const delRole = (id) => {
  return request({
    url: `${roleApi}/${id}`,
    method: 'DELETE'
  })
}

/**
 * 根据ID修改角色名称
 * @param data 角色数据
 * @returns {AxiosPromise}
 */
export const updateRole = (data) => {
  return request({
    url: `${roleApi}/${data.id}`,
    method: 'PUT',
    data
  })
}

/**
 * 更改角色状态
 * @param id 角色id
 * @param status 角色状态
 * @returns {AxiosPromise}
 */
export const changeRoleStatus = (id, status) => {
  let data = {
    id,
    status
  }
  return request({
    url: `${roleApi}/changeStatus`,
    method: 'PUT',
    data
  })
}

/**
 * 分配角色权限
 * @param id
 * @param menuIdList
 * @returns {AxiosPromise}
 */
export const assignRoleMenu = (id, menuIdList) => {
  let data = {
    id,
    menuIdList
  }
  return request({
    url: `${roleApi}/assign`,
    method: 'POST',
    data
  })
}
